<?php
/*
 * estudo de padrões de projetos com php
 * author: fabricio s costa
 * version: 1.0
 * site: http://fabriciojf.com
 */

//mata a sessão aberta para depois reiniciar
require_once('com/fabriciojf/action/Action.class.php');
require_once('com/fabriciojf/security/Permission.class.php');
require_once('com/fabriciojf/persistence/UsuarioDAO.class.php');
require_once('com/fabriciojf/persistence/ConfigDAO.class.php');

class LogarUsuarioAction implements Action {

    public function execute() {
        $configDao = new ConfigDAO();
        $urlBase = $configDao->getRegistro('urlBase')->getValor();
        $urlOrigem = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
        
        if (($urlOrigem != $urlBase) && ($urlOrigem != 'www'.$urlBase)){
            echo 'Houve um erro ao logar no servidor!';
        } else {
            $nome = $_POST["nome"];
            $senha = $_POST["senha"];

            $usuario = new Usuario();
            $usuarioDao = new UsuarioDAO();
            $usuario = $usuarioDao->findForName($nome, $senha);

            if (!$usuario->getId()) {
                FrontController::sendRedirect("Login");
                exit;
            } else {
                ini_set("display_errors","off");
                session_start();
                $_SESSION['idUsuarioLogado'] = $usuario->getId();
                $_SESSION['nomeUsuarioLogado'] = $usuario->getNick();
                FrontController::sendRedirect("PainelControle");
            }
        }
    }
}
?>
